package com.vivachek.protocol

import com.vivachek.protocol.enums.TestStatusEnums
import com.vivachek.protocol.enums.UnitEnums
import com.vivachek.protocol.enums.WarnCodeEnums

/**
 * @Author: YCB
 * @Time: 2022/9/29 16:47:16
 * @Email: congbin.yuan@vivachek.com
 * @Description: 协议解析回调
 */
interface ParseListener {

    /**
     * 设备SN
     */
    fun sn(sn:String)

    /**
     * 设备单位
     */
    fun unit(unit:UnitEnums)

    /**
     * 设置设备时间成功
     */
    fun setTimeSuccess(success: Boolean)

    /**
     * 设备时间
     * @param time yyyy-MM-dd HH:mm:ss
     */
    fun deviceTime(time:String)

    /**
     * 检测过程中的设备状态
     */
    fun status(statusEnums: TestStatusEnums)

    /**
     * 最近一条检测记录
     */
    fun lastTestResult(baseResult: BaseResult)

    /**
     * 报错码
     */
    fun warn(warnCodeEnums: WarnCodeEnums)
    /**
     * 实时检测结果
     */
    fun result(result: BaseResult)

    /**
     * 历史记录血糖结果
     */
    fun historyGlucose(result: BaseResult)

    /**
     * 读取历史记录结束
     */
    fun historyFinish()

    /**
     * 设备的软件版本
     */
    fun deviceSoftwareVersion(version:String)

    /**
     * 设备关机
     */
    fun devicePowerOff()

    /**
     * 删除历史记录成功
     */
    fun deleteHistorySuccess()

    /**
     * code chip
     */
    fun codeChip(number:Int)

    /**
     * 需要发送回复指令
     */
    fun needReply()
}